#include <GL/glut.h>

void init()
{
	glClearColor(1.0, 1.0, 1.0, 1.0);	// 设置窗口显示颜色为白色
	glMatrixMode(GL_PROJECTION);		// 设置放映参数
	gluOrtho2D(0.0, 200.0, 0.0, 200.0);
}

void myDisplay()
{
	glClear(GL_COLOR_BUFFER_BIT);		// 清空窗口显示

	glColor3f(0.0, 0.0, 0.0);
	

	int p1[] = { 10, 90 };
	int p2[] = { 10, 10 };
	int p3[] = { 40, 10 };
	int p4[] = { 40, 90 };
	int p5[] = { 60, 90 };
	int p6[] = { 60, 10 };
	int p7[] = { 90, 10 };
	int p8[] = { 90, 90 };

	// 画多边形用法1
	//glBegin(GL_QUADS);
	//glVertex2iv(p1);
	//glVertex2iv(p2);
	//glVertex2iv(p3);
	//glVertex2iv(p4);
	//glVertex2iv(p5);
	//glVertex2iv(p6);
	//glVertex2iv(p7);
	//glVertex2iv(p8);
	//glEnd();

	// 画多边形用法2
	// GL_QUAD_STRIP根据【p1 p2 p4 p3】【p4 p3 p5 p6】
	glBegin(GL_QUAD_STRIP);
	glVertex2iv(p1);
	glVertex2iv(p2);
	glVertex2iv(p4);
	glVertex2iv(p3);
	glVertex2iv(p5);
	glVertex2iv(p6);
	glVertex2iv(p8);
	glVertex2iv(p7);
	glEnd();


	glFlush();

}


void main(int argc, char** argv)
{
	glutInit(&argc, argv);							// 初始化glut（可不写默认）
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);	// 显示模式初始化 单缓冲模式 RGB显示模式
	glutInitWindowPosition(50, 100);				// 窗口距离左和上的距离（可不写默认）
	glutInitWindowSize(200, 200);					// 窗口的宽和高（可不写默认）
	glutCreateWindow("第一个OpenGl程序");			// 窗口名称

	init();											// 执行初始化程序
	glutDisplayFunc(&myDisplay);					// 自定义函数绘图
	glutMainLoop();									// 消息循环响应
}
